Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / legacy / docker-win7-entry.sh

Displaying Raw • Download


scripts/legacy/docker-win7-entry.sh legacy/win7 (159b2358) Text, 2.39 KB

T8b949e#!/usr/bin/env bash
Tffa657set -euo pipefail

Tffa657export Te6edf3WINEDEBUGTff7b72=Ta5d6ff"Tffd700${Te6edf3WINEDEBUGTff7b72:-Tb4b4b4-allTffd700}Ta5d6ff"
Tffa657export Te6edf3WINEARCHTff7b72=Ta5d6ff"Tffd700${Te6edf3WINEARCHTff7b72:-Te6edf3win64Tffd700}Ta5d6ff"
Tffa657export Te6edf3WINEPREFIXTff7b72=Ta5d6ff"Tffd700${Te6edf3WINEPREFIXTff7b72:-Tb4b4b4/wineprefixTffd700}Ta5d6ff"
Tffa657export Te6edf3PYTHON_VERSIONTff7b72=Ta5d6ff"Tffd700${Te6edf3PYTHON_VERSIONTff7b72:-Te6edf33Tb4b4b4.8.10Tffd700}Ta5d6ff"
Tffa657export Te6edf3PYTHON_EXETff7b72=Ta5d6ff"Ta5d6ffpython-Tffd700${Te6edf3PYTHON_VERSIONTffd700}Ta5d6ff-amd64.exeTa5d6ff"
Tffa657export Te6edf3PYTHON_URLTff7b72=Ta5d6ff"Ta5d6ffhttps://www.python.org/ftp/python/Tffd700${Te6edf3PYTHON_VERSIONTffd700}Ta5d6ff/Tffd700${Te6edf3PYTHON_EXETffd700}Ta5d6ff"
Tffa657export Te6edf3PYTHON_WINTff7b72=Ta5d6ff"C:/Python38/python.exe"

wine_runTff7b72(Tff7b72) Tff7b72{
xvfb-run -a wine Ta5d6ff"Te6edf3$@Ta5d6ff"
Tff7b72}

ensure_wine_pythonTff7b72(Tff7b72) Tff7b72{
Tff7b72if wine_run Ta5d6ff"Te6edf3$PYTHON_WINTa5d6ff" -c Ta5d6ff"import sys; assert sys.version_info[:2] == (3, 8)" T79c0ff2>/dev/nullTb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffWine Python 3.8 ready at Te6edf3$PYTHON_WINTa5d6ff (prefix: Te6edf3$WINEPREFIXTa5d6ff)Ta5d6ff"
bash /src/scripts/legacy/wine-set-windows-version.sh Ta5d6ff"Tffd700${Te6edf3WINE_WINDOWS_VERSIONTff7b72:-Te6edf3win7Tffd700}Ta5d6ff"
Tff7b72return T79c0ff0
Tff7b72fi

Tffa657echo Ta5d6ff"Initializing Wine prefix..."
bash /src/scripts/legacy/wine-set-windows-version.sh Ta5d6ff"Tffd700${Te6edf3WINE_WINDOWS_VERSIONTff7b72:-Te6edf3win7Tffd700}Ta5d6ff"
wine_run wineboot --init
sleep T79c0ff2

Tff7b72if Tff7b72[Tff7b72[ ! -f Ta5d6ff"Ta5d6ff/tmp/Tffd700${Te6edf3PYTHON_EXETffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffDownloading Tffd700${Te6edf3PYTHON_URLTffd700}Ta5d6ff"
wget -q -O Ta5d6ff"Ta5d6ff/tmp/Tffd700${Te6edf3PYTHON_EXETffd700}Ta5d6ff" Ta5d6ff"Tffd700${Te6edf3PYTHON_URLTffd700}Ta5d6ff"
Tff7b72fi

Tffa657echo Ta5d6ff"Ta5d6ffInstalling Python Tffd700${Te6edf3PYTHON_VERSIONTffd700}Ta5d6ff into Wine...Ta5d6ff"
wine_run Ta5d6ff"Ta5d6ff/tmp/Tffd700${Te6edf3PYTHON_EXETffd700}Ta5d6ff" /quiet Te6edf3InstallAllUsersTff7b72=T79c0ff1 Te6edf3TargetDirTff7b72=C:Tffea00\\Python38 Te6edf3PrependPathTff7b72=T79c0ff1 Te6edf3Include_testTff7b72=T79c0ff0
wine_run Ta5d6ff"Te6edf3$PYTHON_WINTa5d6ff" -m ensurepip --upgrade
wine_run Ta5d6ff"Te6edf3$PYTHON_WINTa5d6ff" -m pip install --upgrade pip setuptools wheel
Tff7b72}

build_backendTff7b72(Tff7b72) Tff7b72{
Tffa657cd /src

Tff7b72if Tff7b72[Tff7b72[ ! -f meshchatx/public/index.html Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Frontend assets missing. Build with pnpm run build-frontend on the host first."
Tffa657exit T79c0ff1
Tff7b72fi

Tffa657echo Ta5d6ff"Preparing Python 3.8 source compatibility..."
wine_run Ta5d6ff"Te6edf3$PYTHON_WINTa5d6ff" scripts/legacy/prepare_py38_sources.py

Tffa657echo Ta5d6ff"Installing legacy Python dependencies..."
wine_run Ta5d6ff"Te6edf3$PYTHON_WINTa5d6ff" -m pip install -r requirements-py38-win7.txt

Tffa657export Te6edf3CX_FREEZE_BUILD_EXETff7b72=Ta5d6ff"build/exe/win32-x64"
Tffa657export Te6edf3CX_FREEZE_TARGET_NAMETff7b72=Ta5d6ff"ReticulumMeshChatX.exe"
Tffa657export Te6edf3PYTHONDONTWRITEBYTECODETff7b72=T79c0ff1

Tffa657echo Ta5d6ff"Running cx_Freeze..."
wine_run Ta5d6ff"Te6edf3$PYTHON_WINTa5d6ff" cx_setup.py build

Tff7b72if Tff7b72[Tff7b72[ -f Ta5d6ff"build/exe/win32-x64/ReticulumMeshChatX.exe" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Build succeeded: build/exe/win32-x64/ReticulumMeshChatX.exe"
ls -la build/exe/win32-x64/ReticulumMeshChatX.exe
Tff7b72else
Tffa657echo Ta5d6ff"Build finished but ReticulumMeshChatX.exe was not found."
Tffa657exit T79c0ff1
Tff7b72fi
Tff7b72}

ensure_wine_python
build_backend


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────